Numerous services require information regarding currently connected SIP users. For example, a SIP endpoint may be interested in the availability of each user on a contact list. Such a request is typically initially received by a SIP infrastructure node to which the SIP endpoint is connected. SIP infrastructure nodes may also be interested in obtaining this information.
SIP infrastructure may be composed of SIP clusters, a SIP cluster being a set of SIP nodes that are typically co-located. If all the users for which availability status is required are connected to the same SIP cluster as the requesting entity, then this information can be obtained from a binding repository local to the cluster to which all servers in the cluster have access.
When availability status is required for at least one user that is connected to a cluster other than that of the requesting entity, intercluster messaging is required. The SIP infrastructure node handling the request locates the respective serving cluster for each user from a user cluster information repository. The user cluster information repository indicates to which serving cluster the user was most recently connected, and is therefore possibly still connected. For each user having a serving cluster that is different from that of the SIP node handling the request, a respective request to the cluster of the user is made. As such, the number of required transactions may be as large as the number of users in the list assuming every user has only one device registered at external clusters. The number could be larger if some users have multiple devices registered at different clusters.